%AQUILA Toolbox
%
%Version 1.0   27-DEZ-1999
%Copyright 1999 Martin Rother
%distributed under the terms of the BSD License
%
%AQUILA, simulation of low dimensional GaAs/AlGaAs semiconductor structures
%by self consistent solution of Schroedinger and Poisson equation
%in one or two dimensions
%
%Contact information:
%
%Address: Dr. Martin Rother
%         Soyerhofstrasse 1
%         81547 Muenchen
%         Germany
%
%Phone:   0-(49)-89-69398213
%EMail:   martin.rother@web.de
%
%
%NOTE
%There are some examples in the 'examples' directory!
%
%HOW IT WORKS
%
%You have to write a short script containing the structure information and telling
%AQUILA what to do. Take a look at the examples in the directory 'examples'.
%
%In your script you should call 'INITAQUILA' as first function of AQUILA. This provides
%some handy definitions and does the initialization.
%INITAQUILA does some initialization, clears all old global variables and then
%defines some new global variables.
%
%Now define, whether your problem is one-dimensional or two-dimensional.
%In the first case, set aquila_control.mode=1, otherwise =2.
%Note however, that the 1D calculations use the same routines as the 2D calculations
%and thus may be a bit slower than 1D-optimized routines.
%
%Now you can redefine some of the global variables
%generated by INITAQUILA to control the behavior of the following computation.
%Especially the control parameters stored in the structure aquila_control may be useful.
%Type 'help structures' for the details.
%Especially you can change the temperature T now. 
%
%Now comes the structure definition. This is done by subsequent calls of
%ADD_MBOX defining the width or area of the layers, their x-content and the doping.
%Note, that things like DX-centers and doping efficiency are not included in
%AQUILA. You have to find out yourself, what doping in real life corresponds
%to what doping in AQUILA. Also p-type doping is included only as a fixed space charge.
%By default the x-direction is the GaAs(001)-direction, the y-direction is the
%GaAs(110)-direction.
%
%If you have regions in your structure where you expect quantum mechanical
%behavior, define one or more quantum regions by calling ADD_QBOX. One of the
%arguments of ADD_QBOX is the number of subbands. AQUILA always computes that
%many subbands. If you find, that after computation e.g. the highest electron
%subband is below the Fermi energy, then you should increase this number and
%run the computation again.
%
%Now define the boundary conditions of the electrostatic potential by calling
%ADD_BOUNDARY. You can choose between fixed potential or fixed electric field at any
%portions of the boundary. Note however, that you must fix the potential
%at least at one point of the boundary, otherwise the solution of the Poisson
%equation is not unifold and the corresponding linear system is singular.
%You can simulate a gate by fixing the potential at a non-zero value in the gated
%region. However you have to find out yourself, what gate voltage gives you
%the potential you gave as an argument to ADD_BOUNDARY. The details of this depend
%e.g. on the work function of the metal you use as a gate and are not implemented
%in AQUILA.
%
%If you want to have some output during the computation, you can now
%define the interesting regions by calling ADD_PBOX.
%
%If you have a good guess for the potential, e.g. from a previous computation
%of the same structure with slightly different parameters, you can include it
%in the new computation by calling STARTPOTENTIAL. The given potential must have the
%correct grid size. If you want to know the size of the problem, call BUILDSTRUCTURE
%now. This will set up the structure according to the given structure definition.
%BUILDSTRUCTURE is called automatically by AQUILA at the beginning of the 
%computation.
%
%Now you are ready to start the computation. Do this by calling RUNSTRUCTURE.
%This will start the self consistency cycle following a modified Newton scheme.

%The cycle will be run with classical densities first, switching to quantum densities
%as the cycle converges (unless you have specified an external potential in which case
%quantum mechanics will be used from the beginning). You will notice the switching
%to quantum densities by a sudden increase of time consumed by each cycle and by a
%more 'round' form of the charge distribution. Towards the end of the cycle the 
%algorithm will speed up again, now using a different scheme for eigenvalue
%computation. These 'switch points' can be controlled by the global
%parameters defined in the structure aquila_control. In rare cases the iteration may
%fail to converge by getting trapped in a local minimum. If you get the corresponding error
%message, try changing some of the parameters slightly. Critical are parameters, where the
%simulated structure is at some 'turning point', e.g. if the gate voltage is
%approximately the voltage necessary to exactly deplete the electron system.
%You may sometimes get a warning, that some matrix in 'inviter' is ill-conditioned.
%This is nothing to worry about, you can safely ignore it.
%
%After running the structure, you can put some postprocessing code in your
%script. However, I found it more practically to do the postprocessing interactively
%in the MATLAB environment. From the MATLAB command line simply make the necessary
%structures global. You will probably need a
%
%global aquila_material aquila_subbands phi
%
%Then you can extract the information needed. See the file 'structures' for a detailed
%description of the information stored in these structures.
%
%The following lines are meant to be an example only, because there are so
%many possibilities for output, depending on the specific
%interest of the user, so it seams not possible to create a
%postprocessing routine satisfying all users desires.
%(How do the bands look like? How much charge is in the channel?
%How do the subbands look like? What is the energy separation between them?
%How many subbands are occupied? Is there parallel conduction in the doping layer?
%and so on ......
%
%There's lots of information to extract.
%
%A last warning:
%   The material database is not very good. E.g. the X- and L-band are not properly
%   described at the moment, also x-contents >0.69 are not included. Feel free to improve it.
%
%That's all for now, have fun and enjoy AQUILA !
%
%This file is part of AQUILA.
%
%Copyright 1999 Martin Rother
%
%This file is part of AQUILA.
%
%AQUILA is free software; you can redistribute it and/or modify
%it under the terms of the BSD License as published by
%the Open Source Initiative according to the License Policy
%on MATLAB(R)CENTRAL.
%
%AQUILA is distributed in the hope that it will be useful,
%but WITHOUT ANY WARRANTY; without even the implied warranty of
%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%BSD License for more details.
